Field of the Invention
The present invention relates to a robot apparatus, a robot controlling method, a program and a recording medium that control driving of a joint of a robot arm.
Description of the Related Art
In production lines for manufacturing products, robots each including a multi-joint robot arm and an end effector provided at a distal end of the robot arm are used. Each joint mechanism in the robot arm include a servo motor such as an AC servo motor or a DC brushless servo motor and a speed reducer on the output side of the servo motor in order to obtain a high-output torque, and is connected to structural members such as links. Then, an angle is detected by a rotary encoder (hereinafter referred to as “encoder”) directly connected to a rotation shaft of the motor, and based on a result of the detection, a position of the distal end of the robot arm (hand of the robot) is controlled. The encoder detects neither contortion nor backlash of the speed reducer connected to the motor, which may cause an error in position of the distal end of the robot arm. Also, variation in position and orientation of the robot arm or mass of workpieces may cause an error in position of the distal end of the robot arm. Furthermore, for the driving system, a timing belt or a wave speed reducer is often used, and therefore, contortion and/or backlash exist, which contributes to the error in position of the distal end of the robot arm.
On the other hand, in work for, e.g. insertion of parts, some margin of error is allowed because of the low rigidness of the driving system and the existence of backlash. For example, a case where a robot is made to operate so as to grasp a first workpiece via a robot hand, which serves as an end effector, and insert the first workpiece to a second workpiece will be considered. In this case, even if a distal end of the robot arm is somewhat misaligned, a position of the distal end of the robot arm is moved by the joint contortion and/or the backlash of the robot arm, enabling the first workpiece to be inserted along the second workpiece. In other words, the robot arm has an amount of mechanical compliance. Therefore, predetermined mechanical compliance is ensured in commonly-used robot arms, which are controlled by encoders of the rotation shafts of the motors.
In order to reduce the aforementioned error in position of the distal end of the robot arm, providing an encoder at an output shaft of the speed reducer has been proposed. Also, a robot including an encoder at each of an input shaft and an output shaft of a speed reducer, which provides both a high-accuracy mode using information from the encoder at the output shaft and a high-speed mode not using such information, has been proposed (see Japanese Patent Application Laid-Open No. 2011-176913).
However, a robot arm with an encoder provided at an output shaft of each speed reducer such as described above performs feedback control to feed back a value from an encoder at the output shaft of each joint as an instruction value for the joint. Thus, the robot arm has no or extremely small amount of mechanical compliance and no mechanical compliance of the robot arm can be expected. Accordingly, if there is an error in position between a workpiece to be mounted and a workpiece that is to receive that workpiece, difficulty in assembly work has resulted.
Therefore, an object of the present invention is to provide a robot apparatus, a robot controlling method, a program and a recording medium that, when positioning an end effector at a working start position, enhance an accuracy in operation of a robot arm, and during work, ensure mechanical compliance of the robot arm.